struct Monitor;

extern HWND main_window;

enum
{
	TrayMsg = WM_APP,
	TrackMsg,
	UntrackMsg,
	ActivateMsg,
	MinimizeMsg,
	GetMinRectMsg,
	TrackAllMsg
};

void track_windows(void);
void track_window(HWND);
void untrack_window(HWND);
void init_windows(void);
void free_windows(void);
void process_messages(void);
void link_to_monitor(HWND, struct Monitor*);
void popup_menu(void);
int should_ignore(HWND);
struct Monitor *get_linked_monitor(HWND);
struct Monitor *find_monitor(HWND);
struct Monitor *get_cursor_monitor(void);
char *alloc_title(HWND);

